Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Реалізація програмних затримок за допомогою таймерів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
ЗІ
Кафедра:
Кафедра КСА

Інформація про роботу

Рік:
2015
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування
Група:
СІ-21

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра КСА Звіт до лабораторної роботи №2 на тему «Реалізація програмних затримок за допомогою таймерів» з предмету «Програмування мікроконтролерів систем автоматики» Варіант № 3 Львів 2015 Мета роботи: ознайомитися зі структурою периферійних модулів таймерів мікроконтролерів AVR. Навчитися писати програми з відліком часових інтервалів за допомогою таймерів/лічильників мікроконтролера. Короткі теоретичні відомості МК AVR мають на борту різні реалізації таймерів. Перш за все це 8-ми та 16-ти розрядні таймери/лічильники. Останні, відповідно, можуть відраховувати точніші та довші інтервали часу. Також присутні в моделях AVR і сторожові таймери (Watchdog Timer), що призначені для контролю за несанкціонованим зациклюванням програми. 8-розрядні таймери/лічильники. У МК AVR реалізовано три виконання 8-розрядних таймерів/лічильників, що відрізняються набором виконуваних функцій. Перше виконання має реалізовані лише восьмирозрядний лічильник та лічильник зовнішніх подій. Друге виконання має додатково 8-розрядний ШІМ (широтно-імпульсний генератор) та формувач сигналів. Третє виконання ще додає керування таймером/лічильником в асинхронному режимі (годинник реального часу). У моделях AVR можуть бути присутні 2 восьмирозрядні таймери, які позначаються відповідно T0 та T2. Кількість таймерів та їхнє виконання залежать від конкретної моделі. Також від виконання залежить і кількість переривань, що можуть бути згенеровані таймером. Як 8- так і 16-розрядні таймери AVR використовують у своїй роботі 10-розрядний попередній подільник частоти. Він використовується для всіх наявних таймерів в моделі МК, окрім таймера з керуванням в асинхронному режимі, який має свій окремий попередній подільник.  Рис. 1. Блок попереднього дільника таймера На виході мультиплексора дільника частоти вхідна тактова частота, від якої тактується МК, розбита на ряд підчастот, які зменшені у вказане число раз. Наприклад, clk/64 означає, що відраховується 64 тактів МК, після чого посилається імпульс для таймера. Таким чином, ми можемо сповільнити роботу нашого таймера. Варто мати на увазі, що попередній подільник працює незалежно від таймера. У результаті чого виникає невизначений проміжок часу (від 1 до значення дільника) між дозволом таймера та його першим відліком при сумісній роботі з дільником частоти. Для цього передбачена можливість скиду значень попереднього дільника частоти шляхом запису лог. 1 у відповідний біт регістра SFIOR. Таймери, що не мають асинхронного режиму роботи, можуть тактуватися також від зовнішнього сигналу Тзовн. При цьому можна налаштувати відлік або по наростанню фронту сигналу, або по його спаду. Частота зовнішнього сигналу повинна бути у 2,5 рази меншою за частоту тактового генератора МК. Попередній подільник частоти для асинхронного таймера може тактуватися як від основного генератора тактової частоти МК, так і від автономного генератора із своїм зовнішнім кварцем. Цей автономний генератор оптимізований під годинниковий кварц 32 768 Гц. Асинхронний подільник має додаткові коефіцієнти поділу 32 та 128, однак відсутній підрахунок від зовнішніх імпульсів. Вибір режиму тактування таймера здійснюється за допомогою трьох бітів CSn, що розміщені у регістрі TCCRn (табл. 1). Таблиця 1. Вибір тактового сигналу для таймерів виконання 1, 2 CSn2 CSn1 CSn0 Джерело тактового сигналу  0 0 0 Таймер зупинений  0 0 1 clkI/O  0 1 0 clkI/O/8  0 1 1 clkI/O/64  1 0 0 clkI/O/256  1 0 1 clkI/O/1024  1 1 0 Рахунок імпульсів на виводі Tn за спадаючим фронтом  1 1 1 Рахунок імпульсів на виводі Tn за наростаючим фронтом   Таймери/лічильники можуть працювати у 4-х режимах: Нормальний режим. 8-розрядний лічильний регістр нараховує 256 тактів таймера, виникає переповнення, і рахунок продовжується зі значення 0. При виникненні переповнення виставляється у регістрі TIFR прапор переповнення TOV та генерується переривання ...
Антиботан аватар за замовчуванням

12.04.2016 16:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини